package keter.web.controller;

import keter.framework.web.util.MediaType;
import keter.web.controller.base.KeterBaseController;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

/**
 * 首页、登录认证、获取用户、菜单相关信息控制器
 *
 * @author gulixing@msn.com
 * @date 2015年12月5日
 */
@Controller
@RestController
public class KeterController extends KeterBaseController {
	/**
	 * Logger for this class
	 */
	private static final Logger logger = LoggerFactory.getLogger(KeterController.class);
	
	/**
	 * 前台获取当前用户
	 * @return 
	 * @author  gulixing@msn.com
	 * @date    2015年12月26日
	 */
	@GetMapping(value = "/getuser", produces = MediaType.JSON)
	public String getUser() {
		return getCurrentUser().getSecuredInfo().toJson();
	}

	@GetMapping(value = "/getmenu", produces = MediaType.JSON)
	public String getMenu() {
		logger.info("invoke getmenu");
		return isLoggedIn()?toJson(getCurrentUser().getMenuList()):"";
	}

	/**
	 * 用于前台判断当前用户是否登录
	 * 
	 * @return
	 * @author gulixing@msn.com
	 * @date 2015年12月8日
	 */
	@GetMapping(value = "/isloggedin", produces = MediaType.JSON)
	public String loggedin() {
		return String.valueOf(this.isLoggedIn());
	}
}